const { verifyJwtToken } = require('../utils/token');

const Response = require('../entity/http/Response');

// TODO: 其实还有一件事没做 验证用户通过之后 应该把用户的 uid 和 reqId 输出到日志中 未来方便追查是哪个用户在操作的

// 验证用户令牌的中间件
async function checkUserToken(req, res, next) {
    let token = req.headers.authorization;
    if (!token) {
        return res.status(401).json(new Response().fail(401, "缺少用户令牌token"));
    }
    try {
        req.token_payload = await verifyJwtToken(token);
        next();
    } catch (err) {
        return res.status(401).json(new Response().fail(401, err.err));
    }
}

module.exports = checkUserToken;